package login

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"os"
)

type User struct {
	Password string `json:"password"`
	Money    string `json:"money"`
}

var user_info = make(map[string]User)

func Log_user() (flag int) {
	loadUsersFromFile()
	var username string
	var passwd string
	fmt.Println("欢迎进入三创购物登录界面")
	fmt.Printf("请输入您的用户名>>")
	fmt.Scan(&username)
	fmt.Printf("请输入您的用户密码>>")
	fmt.Scan(&passwd)

	userInfo, exists := user_info[username]
	if !exists {
		fmt.Println("用户不存在，请先注册!")
		return
	}

	if userInfo.Password != passwd {
		fmt.Println("密码错误，请重新输入!")
		return
	}

	fmt.Println("登录成功!")
	return 1
}

func loadUsersFromFile() {
	userBytes, err := ioutil.ReadFile("users.json")
	if err != nil {
		if os.IsNotExist(err) {
			fmt.Println("用户文件不存在，正在创建新文件。")
			return
		}
		fmt.Printf("读取文件时发生错误: %v\n", err)
		return
	}

	err = json.Unmarshal(userBytes, &user_info)
	if err != nil {
		fmt.Printf("解析用户数据时发生错误: %v\n", err)
		return
	}
}
